﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Crosland.Automotriz.Logic.Interfaces;
using Crosland.Automotriz.Logic.Linq;
using Crosland.Automotriz.Core;
using System.Configuration;
using Crosland.Automotriz.Seguridad.ControlExeption;
namespace Crosland.Automotriz.Web.Repuestos
{
    public partial class wFrmDuaTitulo : System.Web.UI.Page
    {
        iDuaTitulo BL_Dua_Titulo = new clsT_Imp_Dua_TituloLogic();
        string idNegocio = ConfigurationManager.AppSettings["Negocio"];
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", "JavaScript:confirmSubmitResult();", true);
                listadoGrilla();
                grdListado.FocusedRowIndex = -1;
            }
        }

        void listadoGrilla()
        {
            try
            {
                grdListado.DataSource = BL_Dua_Titulo.listaDuaTitulo();
                grdListado.DataBind();

            }
            catch (DataException e)
            {

                MensajesError(e.Message, e, "listadoGrilla");
            }
            catch (RunException re)
            {
                MensajesError(re.Message, re, "listadoGrilla");
            }
        }

        protected void btnNuevo_Click(object sender, EventArgs e)
        {
            Session["estado"] = "";
            Response.Redirect("wFrmDuaTituloActualizar.aspx?id="+ idNegocio);
        }

        protected void btnModificar_Click(object sender, EventArgs e)
        {
            try
            {
                 Session["estado"] = "1";
                int seleccion = Convert.ToInt32(grdListado.FocusedRowIndex.ToString());
                if (seleccion != -1)
                {
                    Session["id_imp_dua_titulo"] = Convert.ToString(grdListado.GetRowValues(grdListado.FocusedRowIndex, "id_imp_dua_titulo"));
                    Session["NroPedido"] = Convert.ToString(grdListado.GetRowValues(grdListado.FocusedRowIndex, "NroPedido"));
                    Session["NroPoliza"] = Convert.ToString(grdListado.GetRowValues(grdListado.FocusedRowIndex, "NroPoliza"));
                    Session["Fecha"] = Convert.ToString(grdListado.GetRowValues(grdListado.FocusedRowIndex, "Fecha"));
                    Session["Entregado_A"] = Convert.ToString(grdListado.GetRowValues(grdListado.FocusedRowIndex, "Entregado_A"));
                    Session["Entregado_El"] = Convert.ToString(grdListado.GetRowValues(grdListado.FocusedRowIndex, "Entregado_El"));
                    Session["Titulo"] = Convert.ToString(grdListado.GetRowValues(grdListado.FocusedRowIndex, "Titulo"));
                    Session["Fecha_Titulo"] = Convert.ToString(grdListado.GetRowValues(grdListado.FocusedRowIndex, "Fecha_Titulo"));
                    Session["IND_ACTIVO"] = Convert.ToBoolean(grdListado.GetRowValues(grdListado.FocusedRowIndex, "IND_ACTIVO"));
                    Session["Orden"] = Convert.ToString(grdListado.GetRowValues(grdListado.FocusedRowIndex, "Orden"));
                    Response.Redirect("wFrmDuaTituloActualizar.aspx?id="+idNegocio);
                }
                else
                {
                    //popupConfirmacion
                    //    popupOK
                    lblMensajeSeleccionar.Text = string.Empty;
                    lblMensajeSeleccionar.Text = "Seleccione un registro por favor";
                    string script = "popupOK.Show()";
                    ScriptManager.RegisterStartupScript(this, GetType(), "carga", script, true);
                }
            }
            catch 
            {

              
            }
          
           

         
            
        }

        protected void btnSalir_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/Repuestos/wFrmDefault.aspx?id="+idNegocio);
        }

        protected void grdListado_AfterPerformCallback(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewAfterPerformCallbackEventArgs e)
        {
            listadoGrilla();
        }

        protected void grdListado_FocusedRowChanged(object sender, EventArgs e)
        {
          

        }

        private void GuardarExceptionLog(String msgUsu, Exception ex, String metError)
        {
            try
            {
                String msgReal, fhError, pagError, codUsu;
                msgReal = (ex.InnerException != null) ? ex.InnerException.Message : ex.Message;
                pagError = new System.IO.FileInfo(Page.Request.Url.AbsolutePath).Name;
                codUsu = Session["User"].ToString();
                fhError = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");

                System.Diagnostics.StackTrace trace = new System.Diagnostics.StackTrace(ex, true);
                int number = 0;
                for (int i = 0; i < trace.FrameCount; i++)
                {
                    System.Diagnostics.StackFrame sf = trace.GetFrame(i);
                    number = sf.GetFileLineNumber();
                }
                fhError = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
                new Logg().ErrorLog(Server.MapPath("~/Logs/ErrorLog.csv"), msgUsu, msgReal, pagError, metError, codUsu, number);
            }
            catch (Exception e)
            {
                GuardarExceptionLog(e.Message, e, "GuardarExceptionLog");
                MensajesError(e.Message, e, "GuardarExceptionLog");
            }

        }

        private void MensajesError(String msgUsu, Exception ex, String metError)
        {
            Crosland.Automotriz.Web.UserControl.MensajeError uc = (Crosland.Automotriz.Web.UserControl.MensajeError)Master.FindControl("ucErrorMensaje");
            String msgReal, fhError, pagError, codUsu;
            msgReal = (ex.InnerException != null) ? ex.InnerException.Message : ex.Message;
            pagError = new System.IO.FileInfo(Page.Request.Url.AbsolutePath).Name;
            codUsu = Session["User"].ToString();
            fhError = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
            System.Diagnostics.StackTrace trace = new System.Diagnostics.StackTrace(ex, true);
            int number = 0;
            for (int i = 0; i < trace.FrameCount; i++)
            {
                System.Diagnostics.StackFrame sf = trace.GetFrame(i);
                number = sf.GetFileLineNumber();
            }
            uc.Errores(msgUsu, msgReal, fhError, pagError, metError, codUsu, number);
        }
    }

}